import { getWxaQrcode, formatImageUrlProtocol } from './index.js';
import $url from '@/sheep/url';
import $platform from '@/sheep/platform';

export default async function (options) {
  console.log('电子名片海报生成参数:', options);
  
  const posterInfo = options.shareInfo?.poster || {};
  const screenWidth = options.width || 300;
  const cardWidth = screenWidth; // 使用整个可用宽度
  const cardHeight = cardWidth * 0.5; // 更扁平的卡片比例
  
  // 确保头像图片路径有效
  let avatarUrl = '';
  try {
    console.log('处理头像路径:', posterInfo.image);
    
    // 使用默认图片 - 使用已存在的图片
    const defaultAvatarPath = '/static/images/ecard/1.png';
    
    if (!posterInfo.image || typeof posterInfo.image !== 'string') {
      console.log('使用默认头像 - 未提供图片');
      avatarUrl = defaultAvatarPath;
    } 
    // Base64图片直接使用
    else if (posterInfo.image.startsWith('data:image')) {
      console.log('使用Base64头像');
      avatarUrl = posterInfo.image;
    }
    // 处理绝对URL
    else if (posterInfo.image.startsWith('http://') || posterInfo.image.startsWith('https://')) {
      console.log('使用HTTP/HTTPS头像');
      avatarUrl = formatImageUrlProtocol(posterInfo.image);
    }
    // 处理相对路径
    else if (posterInfo.image.startsWith('/')) {
      console.log('使用相对路径头像', posterInfo.image);
      // #ifdef H5
      // H5环境需要前缀域名
      avatarUrl = window.location.origin + posterInfo.image;
      // #endif
      
      // #ifndef H5
      // 非H5环境下直接使用路径
      avatarUrl = posterInfo.image;
      // #endif
    }
    // 其他情况使用默认头像
    else {
      console.log('使用默认头像 - 格式不支持');
      avatarUrl = defaultAvatarPath;
    }
    
    console.log('最终头像URL:', avatarUrl);
  } catch (error) {
    console.error('处理头像URL失败:', error);
    avatarUrl = '/static/images/ecard/1.png';
  }

  // 构建海报视图
  try {
    return [
      {
        id: 'card-bg',
        type: 'rect',
        css: {
          width: cardWidth,
          height: cardHeight,
          color: '#FFFFFF',
          borderRadius: 8,
          borderWidth: 0.5,
          borderColor: '#EEEEEE'
        }
      },
      // 头像
      ...(avatarUrl ? [{
        id: 'avatar',
        type: 'image',
        url: avatarUrl,
        css: {
          width: 60,
          height: 60,
          top: 20,
          left: 20,
          borderRadius: 4
        }
      }] : []),
      // 姓名
      {
        id: 'name',
        type: 'text',
        text: posterInfo.title || '未设置姓名',
        css: {
          top: 20,
          left: 100,
          width: cardWidth - 120,
          fontSize: 16,
          color: '#333333',
          fontWeight: 'bold'
        }
      },
      // 职位
      {
        id: 'position',
        type: 'text',
        text: posterInfo.position || '未设置职位',
        css: {
          top: 45,
          left: 100,
          width: cardWidth - 120,
          fontSize: 12,
          color: '#666666'
        }
      },
      // 公司
      {
        id: 'company',
        type: 'text',
        text: posterInfo.company || '未设置公司',
        css: {
          top: 65,
          left: 100,
          width: cardWidth - 120,
          fontSize: 12,
          color: '#666666'
        }
      },
      // 电话
      {
        id: 'phone',
        type: 'text',
        text: posterInfo.phone ? `电话：${posterInfo.phone}` : '',
        css: {
          top: cardHeight - 25,
          left: 20,
          width: cardWidth - 40,
          fontSize: 12,
          color: '#666666'
        }
      }
    ];
  } catch (error) {
    console.error('构建海报视图失败：', error);
    return [];
  }
} 